Software Plan

 

Requested by:                 Mr. Ken Swarner

                                      Systems Administrator

                                      Computer Science Department of Siena College

 

 

 

 

 

 

 

 

TCP/IP Packet Identifier

 

 

Mirage Incorporated

“We are there even if you cannot see us”

Mirageinc2003@yahoo.com

 

 

 

 

 

Prepared by:                   Paul Aiuto

                                      Richard Connell

                                      Lauren Englisbe, Team Leader

                                      Jayme Gresen

                                      Jeffrey Habiniak

 

 

 

September 26, 2003

 

 

 

 

 

 

 

TCP/IP Packet Identifier

Software Plan

 

Table of Contents

 

 

System Definition:

 

Section 1:  Problem Definition …………………………………………………………..     3

Section 2:  System Justification ………………………………………………………….     3

Section 3:  Goals for the Project …………………………..…………………………..…    3

Section 4:  Constraints on the Project ..……………………………………...………..……3

Section 5:  Functions to be Provided ………………………………… …………………    4

Section 6:  User Characteristics ………………………………………………………….    4

Section 7:  Development/Operating/Maintenance Environments………………………...        4

Section 8:  Solution Strategy ……………………………………………………………..   4

Section 9:  Priorities of System Feature ………………………………………………….    5

Section 10:  System Acceptance Criteria ………………………………………………...    5

Section 11:  Sources of Information ……………………………………………………..     5

 

Project Plan:

 

Section 1:  Life-cycle Model Linear Sequential (Classic Waterfall) Model………….……….6

Section 2:  Organizational Structure ………………………………………………………..7

Section 3:  Preliminary Staffing and Resource Requirements ………………………..……… 8

Section 4:  Preliminary Development Schedule ……………………………………………..8

Section 5:  Project Monitoring and Control Mechanisms ………………………………..      8

Section 6:  Tools and Techniques to be Used ……………………………………………    8

Section 7:  Programming Languages …………………………………………………….     8

Section 8:  Testing Requirements ………………………………………………………..     9

Section 9:  Supporting Documents Required …………………………………………….     9

Section 10:  Manner of Demonstration and Delivery ……………………………………      9

Section 11:  Sources of Information…………………………………………………………9

 

Appendix:

 

Section 1:  Gantt Charts…………………………………………………………………10-11

Section 2:  Glossary of Terms………………………………………………..…………..12-13

Section 3:  Team Resumes….. ………………………………………………………..…14-18


 

 

1.1 Problem Definition:

 

With the growth of Transmission Control Protocol/ Internet Protocol (TCP/IP), many do not understand how various types of information are stored in packets.  Our client, Mr. Ken Swarner, has requested the development of a colorful web-based application that will show the different components of a data packet.  If the packet is composed of another packet, the software will show this.  Each packet will be broken up into different fields, such as Data and Address.  There will also be a menu that will enable you to change the number system being used (i.e. binary to hexadecimal).  This application will allow users to see what is contained within different components in each packet.

 

 

1.2 System Justification:

 

The purpose of our software is to allow the students of our client, Mr. Swarner, and also those of Dr. Lederman, to have a better understanding of what is contained in such packets as TCP and IP.  Different packets are composed of other packets, and our software will allow users to clearly see this.  Users will also learn what is within each packet and what each field does.  This will enhance students’ exposure to difficult material and will reinforce the current textbook models available to the students.

 

1.3:  Goals for the Project

 

The goal of the project is to create a Graphical User Interface (GUI), which can decipher TCP/IP and several other types of networking information packets.  The GUI will take a single packet from the database and convert each part of it from binary to a user-friendly readable version.

 

As a team, our goal is to become further acquainted with TCP/IP and other network packets.  We will gain knowledge of how information is represented within a packet.  We will solve our client’s problem by deploying the necessary software engineering techniques in a working environment.

 

1.4:  Constraints on the Project

 

The software client must be able to function on both a Linux and a Windows platform.  Secondly, the software must be web-based and be able to be read into a Hypertext Transfer Markup Language (HTML) format.  Finally, the deadline for this project is April 2004.

 


1.5:  Functions to be Provided

 

1)      A database that will store all of the given packets in an organized manner;

2)      The GUI will import packets from the database and will convert them from binary into a user-friendly language.  By clicking on specific pieces of the packet, we will get an in-depth view of the IP packet or its related structures;

3)      We will keep documentation on all meeting with Mr. Swarner and post them on our website for referral.

 

 

1.6:  User Characteristics

 

The main users will be Mr. Swarner and Dr. Lederman.  Mr. Swarner will be using this to investigate the structure of TCP/IP packets and Dr. Lederman will be using this as a teaching model to explain how TCP/IP packets are structured and how each field functions.  Since this software will be web-based, users will be required to use Internet Explorer and/or Netscape.

 

1.7:  Development/Operating/Maintenance Environments

 

The system will be developed on the Siena College Software Engineering workstations.  The operation of this system will be available on any computer system with either Internet Explorer or Netscape, as the program will be web-based.  The maintenance of this system will be determined at a later date.

 

1.8: Solution Strategy

 

Our team will use the Linear Sequential Model to develop our client’s requested system; specifically the Classic Waterfall Method.  This model consists of the following stages:

 

1)      Software Plan: In this stage, the team determines the problem that the client is requesting to be solved;

2)      Analysis: The team meets with the client to gather a comprehensive view of the requirements of the program to be designed;

3)      Preliminary Design: The team translates the system requirements into software requirements;

4)      Detailed Design: The team translates those software requirements into machine code and tests the code to correct errors.  This stage of the project will take place in the Spring 2004 semester;

5)      Acceptance Test: The software is installed and documentation is provided to the client to assist the use of the program.  This stage will occur in the Spring 2004 semester.

 

 


1.9 Priorities of System Feature

 

A key feature of our system is user-friendliness.  Mr. Swarner has a similar application that currently works, but it only prints out results in binary.  He would like a colorful graphical interface with clickable boxes to demonstrate what is contained within each field of the packet.  By using a menu, the user is able to convert the binary digits into other bases, such as hexadecimal.  Also contained in this menu will be a description of the purpose of the field.  If the packet is composed of other protocols, these too will be shown.  From this, we would like to show how a component of the TCP/IP packet works.  Therefore, we would like to make a program that is more intuitive for the user.

 

1.10:  System Acceptance Criteria

 

The web-based program will allow for a number of online activities and will, at minimum, allow:

 

1)      Users to see the contents of a packet not in binary form;

2)      Users to see model in a clear, precise manner;

3)      Users to see the decomposition of a packet;

4)      Users to pick apart the packet and see what is inside;

5)      Users to access a menu containing a description of what each field does;

6)      Access to everyone with a web application.

 

1.11:  Sources of Information

 

The major source of information for this segment of the project resulted from meetings with our client, Mr. Swarner.  Other sources of information include Dr. Lederman’s class lectures, the Software Engineering class textbook Software Engineering: A Practioner’s Approach by Roger S. Pressman, and previous Software Engineering teams’ projects, specifically “Sharpe Software, Inc.”

 

 

 


 

2.1: Life-Cycle Model: Linear Sequential (Classic Waterfall) Method

 

 

Software Plan

The purpose of the software plan is to define the problem that is to be solved and establish a preliminary plan of action.

 

Analysis

The analysis process is mainly software-based.  The team aims to understand the nature of the program which they are building, so they must understand the information domain for the software, as well as its required function, behavior, performance, and interface.

 

Preliminary Design

Software design is a multi-step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations and procedural or algorithmic detail.  The design process translates requirements into a representation of the software that can be evaluated for quality before the beginning of the coding process.

 

Detailed Design

In this phase of the model, the design is translated into a machine-readable code.

 

Acceptance Test

After code has been generated, testing begins.  The testing process focuses on the logical internals of the software, ensuring that all statements have been tested.  In this way, errors may be corrected and it can be established that defined input will produce actual results that agree with the required results.

 

Support

Software support and maintenance allows changes and adaptations to be made if necessary; for example, a customer requiring functional or performance enhancements.  Support reapplies each of the preceding phases to an existing program rather than a new one.

 

(Cited from Pressman, pp. 28-29.)

 

 

2.2: Organizational Structure

 

Mirage Incorporated is comprised of the following members:

 


Name                                       E-mail Address                                                 Phone Number

 

Paul Aiuto                                paul.aiuto@students.siena.edu                           (518) 782-6474

Richard Connell                        richard.connell@students.siena.edu                   (518) 782-6347

Lauren Englisbe                        lauren.englisbe@students.siena.edu                   (518) 782-6352

Jayme Gresen                           jayme.gresen@students.siena.edu                     (518) 782-6080

Jeffrey Habiniak                        jeffrey.habiniak@students.siena.edu                  (518) 438-3635

 

           


Mirage Incorporated is organized as follows for the TCP/IP Project:

 

                        Lauren Englisbe – Team Leader

                        Paul Aiuto – Systems Administrator

                        Richard Connell – Webmaster

                        Jeffrey Habiniak – Webmaster

                        Jayme Gresen – Librarian

 

The team structure of Mirage Incorporated is democratic decentralized.  Decisions on problems and approach are made by group consensus.  There will be no hierarchy.

 

The work assignment for each member is as follows:

     

      Team Leader – Organizes meetings and interviews for the team, as well as between the team and the client; guides the team throughout the semester.

 

            Systems Administrator – Maintains the team users’ accounts and is responsible for software administration.

 

            Webmaster – Creates and maintains the project web page.

 

            Librarian – Maintains all team documents and records of all team meetings.

 

2.3: Preliminary Staffing and Resource Requirements

 

Our required software resources will include a database management system such as Oracle and a web page editor such as Dreamweaver, as the application will be web-based.  We may also use a Hypertext Preprocessor (PHP) editor, Visual C++, and Visual Basic.  The hardware resources we require include computer systems, printers, and services.  Our primary resources include those directly involved with the project: Mr. Ken Swarner of the Siena College Computer Science Department, and Dr. Timoth Lederman, our Software Engineering professor.

 

2.4:  Preliminary Development Schedule

 

Please refer to the preliminary development schedule or Gantt chart on pages 8 and 9 of this document.

 

2.5:  Project Monitoring and Control Mechanisms

 

In addition to the client interviews, the project team members will meet frequently to discuss where the project stands and to decide on the appropriate next steps for each member.  The project team will assess the client’s responses to the team’s presentations of the Problem Definition/Project Plan, Software Requirements Specifications and Preliminary Design to verify that the ideas of the project team match up with the client’s needs.  Throughout our development, we will be continually testing our system.  If at any time either the project team or client establishes that the program is not meeting the necessary needs, the project team will take the proper steps in correcting the problem. 

 

2.6 Tools and Techniques to be Used:

 

Computers with Dreamweaver, Microsoft Project, and Microsoft Office will be used. Our team will be using Dreamweaver and PHP to develop our web application, and C++ for the software that the web application will run off of. Models provided by Mr. Swarner along with software engineering techniques will be used throughout the process of creating our system.   

 

2.7: Programming Languages

 

For the development of the TCP/IP project, we will be using Microsoft Visual Basic, C++, PHP, and for our website we will use HTML and Dreamweaver.


 

2.8:  Testing Requirements

 

There will be a thorough testing of this system throughout the development process.  Team members as well as other students will also aid in the testing.

 

2.9: Supporting Documents Required

 

Supporting documentation will be provided to our client on the following dates:

 

1)      Problem Definition/Project Plan – September 22, 2003

2)      Software Requirements Specifications – October 27, 2003

3)      Preliminary Design – November 24, 2003

 

2.10:  Manner of Demonstration and Delivery

 

There will be many presentations given throughout the development.  They will consist of PowerPoint presentations, speeches, demonstrations, and handouts.  The purpose of our presentations will be to make sure our client’s goals are being met, and to show what we have completed to date.  Dates of presentations are as follows:

 

1)      Problem Definition/Project Plan – September 22, 2003

2)      Presentation: Problem Definition/Project Plan – September 26, 2003

3)      Software Requirements Specifications – October 27, 2003

4)      Presentation: Software Requirements Specifications – October 29, 2003

5)      Preliminary Design – November 24, 2003

6)      Presentation: Preliminary Design – December 4, 2003

 

2.11: Sources of Information

 

The major source of information for this segment of the project resulted from meetings with our client, Mr. Swarner.  Other sources of information include Dr. Lederman’s class lectures, the Software Engineering class textbook Software Engineering: A Practioner’s Approach by Roger S. Pressman, and previous Software Engineering teams’ projects, specifically “Sharpe Software, Inc.”

 


3.1:  Gantt Chart (Current Semester)

 

 

 


Gantt Chart (Entire Year)

 


 

 

 

3.2:  Glossary of Terms

 

Code:

            The symbolic arrangement of data or instructions in a computer program or the set of such instructions.

 

GUI:

Graphical User Interface: A user interface based on graphics (icons, pictures, and menus) instead of text; uses a mouse as well as a keyboard as an input device.

 

Gantt Chart:

A chart that depicts progress in relation to time, often used in planning and tracking a project

 

HMTL:

Hypertext Transfer Markup Language: A markup language used to structure text and multimedia documents and to set up hypertext links between documents, used extensively on the World Wide Web.

 

Hypertext:

A computer-based text retrieval system that enables a user to access particular locations in web pages or other electronic documents by clicking on links within specific web pages or documents.

 

Internet: 

An interconnected system of networks that connects computers around the world via the TCP/IP protocol.

 

Linear Sequential Model:  

Sometimes called the classic life cycle or the waterfall model, this model suggests a systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing, and support.

 

Linux:

A trademark for an open-source version of the UNIX operating system.

 

Network: 

An openwork fabric or structure in which cords, threads, or wires cross at regular intervals.

 

Open-Source:

A method and philosophy for software licensing and distribution designed to encourage use and improvement of software written by volunteers by ensuring that anyone can copy the source code.

 

PHP: 

Hypertext Preprocessor (server-side scripting language)

 


Packet:

The unit of data sent across a network. "Packet" is a generic term used to describe a unit of data at any layer of the OSI protocol stack, but it is most correctly used to describe application layer data units ("application protocol data unit", APDU).

 

Protocol:

A standard procedure for regulating data transmission between computers.

 

Software:

Written programs, procedures, or rules and associated documentation pertaining to the operation of a computer system and that are stored in read/write memory.

 

TCP/IP:

Transmission Control Protocol/Internet Protocol: A protocol for communication between computers, used as a standard for transmitting data over networks and as the basis for standard Internet protocols.

 

UNIX:

A powerful operating system developed at the Bell Telephone Laboratories.

 

 

 

 

 

 

 

 

 

 

 

 

3.3 Team Resumes


 

Paul J. Aiuto            

Present Address                                                   Permanent Address

Siena College, SPOB 2010                                                           10 Wycomb Court         

515 Loudon Road                                                                        Coram, NY 11727

Loudonville, NY 12211                                                                (631) 474-1785

(631) 513-6336

Email: Paul.Aiuto@students.siena.edu

 

OBJECTIVE          

To find a position with in a company where my computer knowledge

and skills will be enhanced and used to improve the productivity and efficiency of the corporation.

 

EDUCATION

Siena College, Loudonville, New York

            B.S. in Computer Science May 2004

 

RELEVANT COURSEWORK

            Procedural Design and Programming, Software Fundamentals, Data Structures, Assembly Language, Networks and Communications, Object Oriented Design, Database Management, Operating Systems, System Administration     

 

EMPLOYMENT

Internship, First Albany Corporation, New York, NY May 2003 - present

             · PC/LAN Infrastructure Support Technician

             · Troubleshoot Windows 2000/NT problems that end user have

             ·  Maintain Software and Network connectivity for users

 

Salesperson, Port Jeff Bowl, Port Jefferson, NY March 1998 - present

·  Work the control desk

·  Develop problem solving skills and people skills

·  Develop decision-making tactics

 

Web Page Design, Port Jeff Bowl March 2000-2003

·  Create a web page 

·  Display and advertise products in an efficient manner

·  Develop important people skills and decision-making tactics

 

Computer Consultant, ITS Siena College March 2002-present

·         Assist people with their computing needs

·         Troubleshoot problems computer users may have

·         Develop people and problem solving skills

 

COMPUTER SKILLS

·         Skilled in Microsoft Word, Microsoft Works, Front Page, and PowerPoint.     

·         Proficient in troubleshooting hardware and software problems on computer systems.

·         Learning program languages and operating systems such as C, C++, Scheme, Windows    95/98/NT/2000/XP, Dos, UNIX, Assembly, Object Oriented C++  (OOP), Linux,

·         Learning software packages and protocols such as: Lotus Notes, Bloomberg, Reuters Bridge, Brass, Adobe Acrobat 5.0, TCP/IP


 

 

 

 

 

Richard R. Connell

 

School Address:                                                                                                                                                                        Permanent Address:

SPOB 2982                                                                                                                                                                                P.O. Box 14434         

515 Loudon Road                                                                                                                                                                      Albany, New York 12212

Loudonville, New York 12212-1462                                                                                                                                         Phone: (518) 286-3190

Phone: (518) 782-6347

 

Objectives:                  To obtain a position in a firm as a Computer Programmer, or Program   manager, where my knowledge of Oracle, C++, HTML, or               Assembly Language will be of  value to my employer.

 

Employment:              Siena College, Loudonville, New York.

                                    Department of Institutional Advancement

 

July 2001                    Clerical Position

To the Present

 

Duties:                        Inputting Data on all Siena Alumni, Students, and Financial Donors in   the Banner Database.

                                    Maintaining our Database by categorizing and updating all data on a daily basis to ensure that all information is always current.

                                    Assist all other employees when needed, Filing and Typing, correspondence, etc.

 

Education:                   Siena College, Loudonville, NY

(2000 to the present)  Computer Science Major/Business Minor. Class of 2004

                                    Courses:

·        Data Structures

·        Object Oriented

·        Analysis of Algorithms

·        Assembly Language

·        Graphic Design

·        Database Management (using Oracle in SQL Language)

·        Discrete Mathematics

·        Economics

·        Accounting

·        Marketing Management

 

1996-2000                   Bishop Maginn, High School, Slingerlands St., Albany, N.Y.

 

Others:                       HTML and web design. (Self-taught)

 

Reference:                 Available on request

 

 

 


Lauren A. Englisbe

 

 


Present address: (until 5/04)                                                                                                                                                       Permanent address:

Siena College                                                                                                                                                                     9 Mayfair Drive

SPOB 3470                                                                                                                                                                               Slingerlands, NY 12159

515 Loudon Road                                                                                                                                                                                  Telephone: (518) 439-2455

Loudonville, NY 12211-1462                                                                                                                                                      E-mail: lengli@hotmail.com

Telephone: (518) 782-6352


 

 

OBJECTIVE: 

 

            To obtain a challenging position in the field of Computer Science

 

EDUCATION

 

            Siena College, Loudonville NY

            B.S. Computer Science, French Minor, May 2004

            Cumulative GPA: 3.84; Computer Science: 3.67; French: 4.0; Delta Upsilon Sigma National Scholastic Honor Society

            Study Abroad: The American University of Paris, France, Spring 2003

 

COMPUTER EXPERIENCE

 

·         Languages: C++, Basic, MIPS Assembly, Scheme

·         Operating Systems: UNIX, Windows 3.x/9x/NT/2000/XP

·         Software Packages: Microsoft Office, Microsoft Visual C++, Microsoft Visual Basic/.NET 2003, Windows CE, Visual Turing, EZWin, OpenGL

·         Database Management: Oracle 9i, Microsoft SQL Server/ CE

 

RELEVANT COURSEWORK

 

            Procedural Design and Programming, Data Structures, Computer Architecture and Assembly Language, Object-Oriented Design and Programming, Analysis of Algorithms,         Database Management, Communications and Networks, Computer Graphics, Software Engineering

 

RELEVANT WORK EXPERIENCE

 

Team Leader, Fall 2003, Software Engineering Class, Siena College

·         Organized and supervised group during software planning process

·         Established group meetings and project reviews with client and class instructor

 

Computer Science Tutor, September 2003 until present, Siena College, Loudonville, NY

·         Assisted students with computer programming difficulties in several languages

 

National Science Foundation Research Experience for Undergraduates Program, May-August 2003 –      “Wireless Distributed Data Synchronization”

·         Researched synchronization applications between handheld computers and central databases

·         Translated a program using an ADOCE connection designed in Embedded Visual Basic into a Visual Basic.NET 2003 environment with Remote Data Access

·         Improved program functionality with respect to connectivity and explored time-sensitivity issues

 

ADDITIONAL WORK EXPERIENCE

 

  • Shift Supervisor, 2003-present, Starbucks Coffee, Niskayuna, NY; Sales Associate, 1999-2002

 

ACTIVITIES

 

  • Ski Instructor, 1996-1998, Ski Windham Disabled Program, Windham, NY

 

 

 

 

 

 


Jayme M. Gresen

 

Present Address                                                                                                         Permanent Address

Siena College, SPOB 2407                                                                                             66 Cascade Terrace

515 Loudon Road                                                                                                          Niskayuna, NY 12309

Loudonville, NY 12211                                                                                                  (518) 785-6057

(518) 782-6080; E-Mail jayme.gresen@students.siena.edu

 

OBJECTIVE

            A position in the computer science field which will allow me to utilize my present skills while also furthering my knowledge.

 

EDUCATION

            Siena College, Loudonville, NY

            B.S. in Computer Science, Minor in Mathematics, May 2004

            GPA: 3.1/4.0; Dean’s List 2002-2003

           

COMPUTER EXPERIENCE:

·                     Programming in C/C++, JavaScript, Visual Basic, Scheme, OpenGL, HTML, Assembly

·                     Database background:  Oracle/SQL

 

RELEVANT COURSEWORK:

Computer Graphics, Database, Object Oriented Programming, Data Structures, Assembly Language, Scheme, Analysis of Algorithms, Discrete Structures I & II, Numerical Methods

 

EXPERIENCE

 Computer Programmer Intern, BEST Systems, Albany, NY, May 2003-August 2003

·                     Developed pro-active strategy to attack return of mail due to bad addresses

·                     Organized and educated staff of 50 people in relation to changes needing to be made

·                     Provided programmers with a schedule of the year for creating bills for 12 accounts

·                     Suggested strategies to save approximately $20,000/year on cost of extra postage for returned mail

 

Customer Service Representative, BEST Systems, Albany, NY, May 2000-Present

·                     Clarified questions from patients on their bills via phone

·                     Assisted in achieving monthly goals through performing additional duties

·                     Managed distribution of work to other employees on the team

·                     Trained approximately 15-20 employees on the computerized billing system and upgrades as implemented

 

Senior Cashier, Faddegon’s Nursery, Latham, NY, August 2000-December 2000

·                     Responsible for opening and closing the store

·                     Administered and monitored money being put into registers and secured it at night

·                     Trained approximately 6-10 employees on the computer system and customer relations

·                     Focused on customer service and satisfaction

·                     HAZCOM trained

 

ADDITIONAL EXPERIENCE

Data Entry Clerk, BEST Systems, Albany, NY, January 2000-April 2000

Cashier, Faddegon’s Nursery, Latham, NY, September 1998-August 2000

 

LANGUAGE SKILLS

            Languages: Proficient in Spanish

 

 

 


JEFFREY RYAN HABINIAK

 

8 Dogwood Lane

Loudonville, NY 12211

(518) 438-3635

E-Mail: Jeffrey.Habiniak@siena.edu

 

OBJECTIVE

 

A position in the field of computer programming and computer information management.

 

EDUCATION

 

          Siena College, Loudonville, NY

            B.S in Computer Science and Minor in Math, May 2004

            GPA: 3.0/4.0

 

            Quinnipiac University, Hamden, CT, Fall 2001

            Dean’s List, Fall 2001

 

EXPERIENCE

 

          Customer Service Representative, Avis-Rent-A-Car, Albany, NY 2002

·        Responsible for inspection and check in of car returns.

Notetaker, Siena College, Loudonville, NY, 2001-2002

·        Took class notes for a disabled student.

Temporary, Blue Shield of NENY, Albany, NY, 2000-2002

·        Processed and filed medical claims.

·        Typed and mailed medical billing letters.

Technician, D. Leto Telecommunications, Guilderland, NY, 2000

·        Programmed Telephone systems.

·        Ran CAT5 cable and terminated cables.

 

COMPUTER SKILLS

 

          Languages:       Scheme, C++, HTML, Oracle/SQL, SPIM.

            Software/OS:   Win95/98/ME/XP, Internet, Word, Excel, PowerPoint, Photoshop.

            Courses:           Procedural Design-Programming

                                    Data Structures

                                    Comp Arch and Assembly Language

                                    Object-Oriented Design

                                    Analysis of Algorithms

Numerical Methods

Data Base Management

Computer Graphics